package com.qf.aop.aspect;

import com.qf.core.enums.common.BusinessTypeEnum;
import com.qf.core.enums.common.OperatorTypeEnum;

import java.lang.annotation.*;

/**
 * @Author: sin
 * @Date: 2025/5/4 14:38
 * @Description: 自定义操作日志记录注解
 **/
@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ApiOperationLog {

    /**
     * 请求详情 方法
     */
    String desc() default "";

    /**
     * 功能
     */
    BusinessTypeEnum businessType() default BusinessTypeEnum.OTHER;

    /**
     * 操作人类别
     */
    OperatorTypeEnum operatorType() default OperatorTypeEnum.WEB;

    /**
     * 是否保存请求的参数
     */
    boolean isSaveRequestData() default true;

    /**
     * 是否保存响应的参数
     */
    boolean isSaveResponseData() default true;
}